package com.sgam.mf.service;

import java.util.List;
import java.util.Map;

import com.sgam.mf.dao.GenericDAO;
import com.sgam.mf.helper.ProxyCurrentUser;

public interface GenericService <T, T_DAO extends GenericDAO<T>> {
	
	public T get(Integer id, ProxyCurrentUser user);
	public T load(Integer id, ProxyCurrentUser user);

	public List<T> list(ProxyCurrentUser user);
	public List<T> filter(Map<String, String[]> filtersMap, ProxyCurrentUser user);
	
	public void deleteById(Integer id, ProxyCurrentUser user);
	public T	update(T entity, ProxyCurrentUser user);
	public void delete(T entity, ProxyCurrentUser user);
	
}


